www.gusucode.com > 基于Matlab的MIMO通信系统仿真 含报告;司中威;了解移动通信 > 基于Matlab的MIMO通信系统仿真 含报告;司中威;了解移动通信关键技术,了解数字通信系统仿真流程,实现基本的信道编译码、调制解调等通信模块。(好评如潮,课设拿满) 学习并实现MIMO空时处理技术 学习性能分析的思路和方法/mimo/matlab for mimo 2x2/demodulate.m

    function  [rI_I, rI_Q, rJ_I, rJ_Q] = demodulate(Y_r,i,j, Fc_hat, Fs, t_start, pulse_shape)

% Set selection
ChannelI = Y_r(i,:);
ChannelJ = Y_r(j,:);

% Demodulate each channel
% Multiply by cos and sin at 10 kHz  
phase_start = 0;
rI_I = upconv_cos(ChannelI, Fc_hat, Fs, (t_start-1), phase_start);
rI_Q = -upconv_sin(ChannelI, Fc_hat, Fs, (t_start-1), phase_start);    
rJ_I = upconv_cos(ChannelJ, Fc_hat, Fs, (t_start-1), phase_start);
rJ_Q = -upconv_sin(ChannelJ, Fc_hat, Fs, (t_start-1), phase_start); 

% Remove 20 kHz
[b,a] = cheby2(8,16, (2.47/2*Fc_hat/Fs)*2,'low');
% rI_I = filter(b,a,rI_I);
% rI_Q = filter(b,a,rI_Q);
% rJ_I = filter(b,a,rJ_I);
% rJ_Q = filter(b,a,rJ_Q);

pulse_shape = filter(b,a,pulse_shape);
% figure;
% plot(pulse_shape);
% figure;
% plot(pulse_shape);
%  pause
% temp = zeros(size(pulse_shape));
%  temp(41:105) = pulse_shape(41:105);
%  temp(44:102) = pulse_shape(44:102);
%  temp(46:100) = pulse_shape(46:100);
%  temp(48:98) = pulse_shape(48:98);
%  temp(50:96) = pulse_shape(50:96);
% temp(60:86) = pulse_shape(60:86);
% pulse_shape = temp;

 % Match filter
rI_I = conv(pulse_shape,rI_I);
rI_Q = conv(pulse_shape,rI_Q);
rJ_I = conv(pulse_shape,rJ_I);
rJ_Q = conv(pulse_shape,rJ_Q);